[Swift] TailorでSwiftのコードを静的解析!
はじめに
加藤 潤です。
今回はSwiftの静的コード解析ツールであるTailorをご紹介します。
Tailorとは
Swift用の静的コード解析ツールで下記のような特徴を持っています。
- クロスプラットフォーム(Mac OS X、Linux、Windows)
- CLIで解析を実行し、解析結果のレベルに応じてカラーリング表示
- Xcodeのビルド時に解析を実行し、Issue Navigatorに結果を表示
- MITライセンスで公開されている
また、コーディングスタイルガイドラインとしては下記が採用されています。
インストール
Java 8をインストール
Tailorを使うにはJava 8以上が必要です。 インストールされていない場合はこちらからインストールしてください。 筆者は下記バージョンをインストールしました。
Tailorをインストール
Homebrewがインストールされていれば下記コマンドでインストール可能です。
brew install tailor
インストール出来たのでtailor -v
でバージョンを確認してみました。
現在のバージョンは0.2.2のようです。
CLIで実行
下記はiOSのSingle View Applicationテンプレートで新規プロジェクトを作成した直後にtailorコマンドを実行した結果です。
AppDelegate.swiftとViewController.swiftで同じwarningが出ていますね。 「ファイルの終端は改行1つにしろ」とwarningで教えてくれています。
実際にAppDelegateのコードを確認したところ、ファイル終端の改行が2つになっていました。
Xcodeのビルド時に実行
Xcodeのビルド時にtailorを実行するようにするには下記コマンドを実行します。
tailor --xcode <xcodeprojファイルへのパス>
上記を実行することでXcodeのビルドターゲットのBuild PhasesにTailorという項目が追加されました。
この状態でビルドしてみましょう。
先ほどCLIで実行した時と同じwarningがXcode上に表示されていますね! ちゃんとIssue Navigatorにも一覧表示されています。
まとめ
Swiftは非常に柔軟なプログラミング言語であるため多様な書き方ができます。 それ自体は歓迎すべき事だと思いますが、反面ルールやガイドラインが無いと無秩序なソースコードになってしまう可能性もあります。 今回ご紹介したTailorなどのツールを導入することでコードの品質を一定レベルに保ち、チーム開発におけるコードレビューをしやすくするなどの効果が期待できます。 Swiftで開発されている方はぜひ導入を検討してみてはいかがでしょうか。
コマンドオプションの詳細やMac以外への導入方法等は公式のWikiをご覧ください。 また具体的にどんなルールでチェックしてくれるのかはRulesをご覧ください。